/**
 * 封装本地存储操作模块
 */

/**
 * 存储数据
 * @param {*} key
 * @param {*} value
 */
export const setItem = (key, value) => {
  // 将数组、对象类型的数据转换成JSON格式的字符串
  if (typeof value === 'object') {
    value = JSON.stringify(value)
  }
  window.localStorage.setItem(key, value)
}

/**
 * 获取数据
 * @param {*} key
 * @returns
 */
export const getItem = (key) => {
  // localStorage里面报错的数据都是字符串形式的，所以取出来的也是字符串
  const data = window.localStorage.getItem(key)
  try {
    // 将字符串转换成js对象
    return JSON.parse(data)
  } catch (error) {
    return data
  }
}

/**
 * 删除数据
 * @param {*} key
 */
export const removeItem = (key) => {
  window.localStorage.removeItem(key)
}
